const arr1 = ['a','b','c','d'];
const arr2 = ['b','c'];

// 查询元素'b'在数组中第一次出现的位置


// 查询arr1的元素在arr2中第一次出现的索引位置
// for (let i = 0;i < arr1.length;i ++) {
//     const index = arr2.findIndex(v => v == arr1[i]); 
//     console.log(index);
// }

// 把arr1存在于arr2中的元素拿出来形成新的数组
// const result = [];
// arr1.forEach(function(v1) {
//     const index = arr2.findIndex(v2 => v2 == v1); 
//     console.log("index = ",index,",v1 = ",v1);
//     // 如果index为-1表示：arr1的当前元素没有在arr2中存在
//     // 如果index不为-1：arr1的当前元素在arr2中存在，那么放入到结果数组中
//     if (index != -1) {
//         result.push(v1);
//     }
// })
// console.log(result);

// 把arr1存在于arr2中的元素拿出来形成新的数组
// filter：函数返回为true，元素会在结果数组中出现
// const result = arr1.filter(function(v1) {
//    return arr2.findIndex(v2 => v2 == v1) != -1; 
// });
// 使用箭头函数简化
const result = arr1.filter(v1 => arr2.findIndex(v2 => v2 == v1) != -1);
console.log("result = ",result);